دسته بندی ها
10:54 1398/08/14

نحوه بزرگنمایی بخش خاصی از یک تصویر در WPF

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 518     رتبه کاربر : 4
دسته بندی : سی شارپ WPF

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3475
هوش مصنوعی

پاسخ هوش مصنوعی

برای بزرگنمایی دقیق یک بخش خاص از تصویر در WPF، شما می توانید از یک ScrollViewer استفاده کنید تا اجازه دهید کاربر به راحتی ناحیه بزرگنمایی شده را مشاهده کند. دیگر اینکه باید مختصات RenderTransformOrigin و مقیاس ScaleTransform را درست تنظیم کنید.

در زیر یک نمونه کد XAML به شما ارایه می دهم که چطور این کار را انجام دهید:

<Grid>
    <ScrollViewer Width="600" Height="400">
        <Grid ClipToBounds="True">
            <Image Source="c:\temp\sample.bmp" Stretch="None" RenderTransformOrigin="0.75, 0.85">
                <Image.RenderTransform>
                    <ScaleTransform ScaleX="10" ScaleY="10" />
                </Image.RenderTransform>
            </Image>               
        </Grid>
    </ScrollViewer>
</Grid>

با این کد، تصویر داخل ScrollViewer قرار می گیرد و شما می توانید تصویر را بکشید و زوم کنید تا فقط ناحیه مورد نظر را مشاهده کنید. به یاد داشته باشید که مقدار RenderTransformOrigin را بنا به نیاز خود تنظیم کنید تا ناحیه دقیق برای بزرگنمایی مشخص شود.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 11:27 1398/08/14

میتونید از دستور CroppedBitmap برای این کار استفاده کنید

 

<Image>
    <Image.Source>
        <CroppedBitmap Source="c:\temp\sample.bmp" SourceRect="420,330,60,40"/>
    </Image.Source>
</Image>

 

همچنین برای بزرگنمایی بخش خاصی از یک تصویر در WPF میتونید از یک ImageBrush و یک ViewBox هم استفاده کنید. برای این منظور از دستور زیر میتونید استفاده بفرمایید

 

<Grid>
    <Grid.Background>
        <ImageBrush ImageSource="c:\temp\sample.bmp"
                    ViewboxUnits="Absolute" Viewbox="420,330,60,40"/>
    </Grid.Background>
</Grid>

 

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود